iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
Security

電腦漏洞與入侵系列 第 19

Day 19 - 跨站偽造請求 (Cross Site Request Forgery)

  • 分享至 

  • xImage
  •  

雖然昨天先架設好了模擬環境,但苦於還在找資料與理解學習/images/emoticon/emoticon02.gif,所以今天回去介紹了之前沒提到的跨站請求偽造(CSRF)。


跨站偽造請求

https://vpnoverview.com/wp-content/uploads/what-is-a-hacker-what-is-hacking-featured.png

跨站偽造請求(Cross Site Request Forgery)是一種針對網頁的攻擊手段。它會偽造成是合法用戶在發送請求,使得攻擊者可以執行一些未經授權的操作比如更換密碼、資金轉帳等。簡單的以之前聊過的XSS來解釋,XSS的攻擊是利用了使用者對於一些網站的信任,CSRF就是利用了網站對於使用者的信任。


CSRF攻擊的條件

CSRF的攻擊通常包含了多種條件,以下是常見的一些主要要素:

  1. 登入狀態:使用者需要在目標網站上保持著登入狀態,這樣攻擊者才能偽造成使用者發送請求
  2. 目標網站:攻擊者需要了解目標網站的URL和其運作方式
  3. 造訪惡意網頁:受害者需要造訪惡意網站,並在目標網站保持登入狀況下才可以偽造發送請求

範例

假設今天有個用html製作的用於更改密碼的表單:

<html>
<head>
    <title>更改密碼</title>
</head>
<body>
    <h1>更改密碼</h1>
    <form id="passwordChangeForm" action="https://example.com/change-password-here" method="POST">
        <label for="newPassword">新密碼:</label>
        <input type="password" id="newPassword" name="newPassword"><br><br>
        <input type="submit" value="更改密碼">
    </form>
</body>
</html>

它會將使用者更改密碼的請求發送到我們https://example.com/change-password-here的url去。

這時候攻擊者創建了惡意網站包含了自動提交表單:

<html>
<head>
    <title>跨站偽造請求攻擊</title>
</head>
<body>
    <h1>CSRF攻擊</h1>
    <form id="csrfForm" action="https://example.com/change-password-here" method="POST">
        <input type="hidden" name="newPassword" value="惡意更改的密碼">
        <input type="submit" value="執行攻擊">
    </form>
    
    <script>
        // 自動提交表單
        document.getElementById("csrfForm").submit();
    </script>
</body>
</html>

只要使用者訪問了這個惡意網站,偽造的密碼更改請求就會被送到https://example.com/change-password-here,就像使用者自己提出請求一樣。


防範方式

CSRF攻擊能夠成立的原因正是因為攻擊的網頁還處於登入狀態,害怕會遇到CSRF攻擊的話每次使用完網頁之後做登出就可以了。但其實使用者能做的不多因為攻擊是對目標網站的,那目標網站可以做些什麼行動來防範如此可怕的CSRF攻擊呢?

  • Anti CSRF Token
    每當使用者發送請求時,網站可以生成唯一的Token。當使用者發送請求的時候目標網站就可以檢查這個Token究竟有沒有效,確保請求是來自於本人的
  • 圖形驗證碼、簡訊驗證碼
    我們每次在網路上刷卡購物或轉帳的時候,都會有一次性的驗證碼不是嗎?這個就是非常有效能防範CSRF攻擊的方式之一,因為攻擊者沒有辦法得知圖形驗證碼的圖形究竟是什麼。

參考資料

跨站請求偽造
零基礎資安系列(一)-認識 CSRF(Cross Site Request Forgery)
讓我們來談談 CSRF


上一篇
Day 18 - 架設虛擬環境(Virtual hacking lab)
下一篇
Day 20 - 遊戲玩家的夢魘,DDoS
系列文
電腦漏洞與入侵30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言